package cn.didi.feidi.androidorder.api;

/**
 * Created by king on 2017/7/5.
 */

public interface Api {


    /**
     * 用户查看到货表
     * <p>
     * 用户补交押金的时候 获取送水工的输入的空桶数 和需要补交的押金
     * <p>
     * userId
     * token
     * orderUserId
     */
    String GET_ORDERUSER_FINISH = "/orderUserFinish/getOrderUsFi";

    /**
     * 用户确认订单
     * userId
     * token
     * orderUserId
     */
    String CONFIRM_ORDER = "/orderUser/confirm";

    /**
     * 删除已经完成的订单 或者删去已经取消的订单
     */

    String DELETE_CANCEL_OR_COMPLETE_ORDER = "/orderUser/userDeleteOrderUser";

    /**
     * 取消订单
     *
     * userId
     * token
     * orderUserId 订单号
     * 返回
     * OrderUser
     */
    String CANCEL_ORDER = "/orderUser/cancel";

//    /**
//     * lowPrice
//     * highPrice
//     * pageNum
//     * pageSize
//     *
//     */
//    String GET_WATER_BLUCKET_NO_TOKEN = "/waterBucket/getWaterBucketsByPriceIntervalWithoutToken";


    /**
     * 价格 查询水
     */
    String GET_WATER_BUCKET_BY_PRICE = "/waterBucket/getWaterBucketsByPriceInterval";
    String GET_WATER_BUCKET_BY_PRICE_NO_TOKEN = "/waterBucket/getWaterBucketsByPriceIntervalWithoutToken";

    /**
     * 查询水桶，名字
     * userId
     * <p>
     * token
     * <p>
     * keyName
     * pageNum
     * <p>
     * pageSize
     */
    String GET_WATER_BUCKET_BY_NAME = "/waterBucket/getWaterBucketsByName";

    String GET_WATER_BUCKET_BY_NAME_NO_TOKEN = "/waterBucket/getWaterBucketsByNameWithoutToken";
    /**
     * 更新用户地址
     * userId
     * token
     * address
     * longitude
     * latitude
     * name
     * sex
     * phoneNumber
     * city
     * district
     * road
     * 返回
     * UserAddress
     */


    String UPDATE_USER_ADDRESS = "/user/updateUserAddress";

    /**
     * 删除地址
     *
     * @param userId
     * @param token
     * @param userAddressId
     */
    String DELETE_USER_ADDRESS = "user/deleteUserAddress";


    /**
     * 参数
     * userId
     * token
     * <p>
     * 返回
     * List<UserAddress>
     */
    String GET_USER_ADDRESS = "/user/getUserAddressById";


    /**
     * 增加用户地址
     * userId
     * token
     * address
     * longitude
     * latitude
     * name
     * sex
     * phoneNumber
     * city
     * district
     * defaultAddress 是否 是默认地址
     * road
     * 返回
     * UserAddress
     */
    String ADD_USER_ADDRESS = "/user/addUserAddress";


    /**
     * 更新默认地址
     * userId
     * token
     * oldUserAddressId 可为空，用户没有设置任何默认地址
     * newUserAddressId
     */


    String UPDATE_DEFAULT_ADDRESS = "/user/updateDefaultUserAddress";


    /**
     * 根据状态返回对应订单列表
     * userId
     * token
     * status
     * <p>
     * public static final int STATUS_USER_PAYING = 0;//待支付
     * public static final int STATUS_USER_RECEIVING = 1;//待接单
     * public static final int STATUS_USER_TAKING = 2;//待收货
     * public static final int STATUS_USER_FINISHED = 4;//已完成
     * public static final int STATUS_USER_CANCELED = 5;//已取消
     * <p>
     * 返回list<OrderUser></>
     */
    ///orderUser/userOrderUsersByStatus
    String GET_ORDER_BY_STATUS = "/orderUser/userOrderUsersByStatus";

    /**
     * 注册请求验证码校验
     * 请求变量
     * phoneNumber string（不可为空) 手机电话
     * 返回数据对象
     * String
     */
    public final static String REGISTER_EXISTS_PHONE_NUMBER = "/user/existsPhoneNumber";


    /**
     * 注册请求验证码校验
     * 请求变量
     * phoneNumber string（不可为空) 手机电话
     * verificationCode string（不可为空) 验证码
     * 返回数据对象
     * String
     */
    public final static String REGISTER_CHECK_VERIFICATION_CODE = "/user/checkPhoneNumber";

    /**
     * 注册
     * 请求变量
     * phoneNumber string（不可为空) 手机电话
     * password string（不可为空) 密码（MD5）
     * verificationCode string（不可为空) 验证码
     * 返回数据对象
     * String
     */
    public final static String REGISTER = "/user/register";

    /**
     * 登陆
     * 请求变量
     * imei string（不可为空) 手机电话
     * account string（不可为空) 密码（MD5）
     * password string（不可为空) 验证码
     * 返回数据对象
     * LoginReturnResult
     */
    public final static String LOGIN = "/user/login";

    /**
     * 免密码登陆
     * 请求变量
     * uid string（不可为空) 用户id
     * token string（不可为空) 身份认证
     * 返回数据对象
     * LoginInfo
     */
    public final static String LOGIN_PASSWORD_FREE = "/user/rememberMe";

    /**
     * 获取App版本信息
     * 请求变量
     * version string（不可为空) 目前版本
     * 返回数据对象
     * AppInfo
     */
    public final static String CHECK_APP_VERSION = "/userApp/appVersionInfo/getAppVersionInfo";

    /**
     * 通过输入原密码修改密码
     * 请求变量
     * userId string（不可为空) 用户id
     * token string（不可为空) 身份认证
     * oldPassword string（不可为空) 旧密码
     * newPassword string（不可为空) 新密码
     * 返回数据对象
     * AppInfo
     */
    public final static String SET_NEW_PASSWORD_BY_OLD_PASSWORD = "/user/changePwdByOldPwd";


    /**
     * 更新个人信息
     * 请求变量
     * userId string（不可为空) 送水工id
     * token string（不可为空) 送水工登陆身份标识
     * user 个人信息（为空则不更新）
     * 返回数据对象
     * null
     */
    public final static String UPDATE_USER_PERSON_INFO = "/user/updatePerInfo";


    /**
     * 提交反馈
     * 请求变量
     * uid string
     * token
     * content string  反馈内容（不可为空)
     * contact string  手机号码（不可为空)
     * source 来源（0用户，1送水工，2水店）（不可为空)
     * 返回数据对象
     * String
     */
    public final static String FEEDBACK = "/feedback/submitFeedback";

//    /**
//     * userId
//     * token
//     * keyName
//     * pageNum
//     * pageSize
//     * <p>
//     * <p>
//     * <p>
//     * return
//     * list<waterBuckets></>
//     */
//    //getWaterBucketsByIdAndToken
//    String GET_WATER_BUCKETS_BY_ID_AND_TOKEN = "/waterBucket/getWaterBucketsByName";


    /**
     * userId
     * token
     * amount 订单金额
     * userAddressId用户地址id
     * urgentPrice 加急金额
     * isOrdered   是否预约(0否 1是)
     * startTime   预约开始时间  Wed, 17 Aug 2017 13:15:57 +0800 (CST)
     * endTime  预约结束时间    Wed, 24 Aug 2017 13:15:57 +0800 (CST)
     * deposit  押金
     * remark  备注(255个字以内)
     * orderWaBuOrUsList[0].bucketTypeId   订单水桶类型id
     * orderWaBuOrUsList[0].quantity  数量
     * orderWaBuOrUsList[1].bucketTypeId  订单水桶类型id
     * orderWaBuOrUsList[1].quantity 数量
     * orderBlBuOrUsList[0].bucketTypeId 空桶类型
     * orderBlBuOrUsList[0].quantity 空桶数量
     */

    String PLACE_AN_ORDER = "/orderUser";

    /**
     * 获取支付宝支付订单标识
     * <p>
     * 请求变量
     * userId string
     * token
     * orderUserId string  订单id（不可为空)
     * amount string  交易金额（不可为空)
     * 返回数据对象
     * String
     */
    public final static String GET_ALIPAY_SIGNED_ORDER_USER = "/alipay/getAlipaySignedOrderUser";

    /**
     * 获取余额
     * <p>
     * 请求变量
     * userId string
     * token
     * 返回数据对象
     * Float
     */
    public final static String GET_MONEY = "/moneyUser/getMoney";


    /**
     * 验证支付密码的原密码
     * 请求变量
     * userId string（不可为空) 手机电话
     * token  用户token
     * payPwd string  旧支付密码
     * 返回数据对象
     * String
     */
    public final static String CHECK_OLD_PAY_PASSWORD = "/user/checkPayPwd";

    /**
     * 设定支付密码的新密码
     * 请求变量
     * userId string（不可为空) 手机电话
     * token  用户token
     * oldPayPwd string   支付密码
     * newPayPwd string  新支付密码
     * 返回数据对象
     * null
     */
    public final static String SET_NEW_PAY_PASSWORD_BY_OLD_PASSWORD = "/user/setNewPayPwd";

    /**
     * 通过短信验证找回支付密码时验证手机号并发送验证码
     * 请求变量
     * userId string（不可为空) 手机电话
     * token
     * phone
     * 返回数据对象
     * String
     */
    public final static String FIND_BACK_PWD_CHECK_PN = "/user/findBackPwdCheckPN";

    /**
     * 通过短信验证找回支付密码时验证手机号并发送验证码,验证手机号和验证码是否正确
     * 请求变量
     * userId string（不可为空) 手机电话
     * token
     * verificationCode 验证码
     * phone
     * 返回数据对象
     * String
     */
    public final static String FIND_BACK_PAY_PSW_BY_VERIFY_CHECK_PN = "/user/findBackPayPwdVerifyPN";

    /**
     * 通过短信验证找回支付密码时验证手机号并发送验证码,修改支付密码时验证手机号和验证码是否正确
     * 请求变量
     * userId string（不可为空) 手机电话
     * token
     * phone
     * verificationCode 验证码
     * newPayPwd 新密码
     * 返回数据对象
     * String
     */
    public final static String FIND_BACK_PAY_PWD_VERIFY_PN_SETPAY = "/user/findBackPayPwdVerifyPNSetPay";

    /**
     * 通过账号密码找回支付密码时,验证密码是否正确
     * 请求变量
     * userId string（不可为空) 手机电话
     * token
     * password
     * 返回数据对象
     * String
     */
    public final static String FIND_BACK_PAY_PWD_BY_PWD = "/user/findBackPayPwdByPwd";

    /**
     * 通过账号密码找回支付密码时,验证密码是否正确
     * 请求变量
     * userId string（不可为空) 手机电话
     * token
     * password
     * payPwd 验证码
     * 返回数据对象
     * String
     */
    public final static String FIND_BACK_PAY_PWD_SET_PAY_PWD_BY_PWD = "/user/findBackPayPwdSetPayPwdByPwd";


    /**
     * 七牛云Token请求
     * 请求变量
     * userId string（不可为空) 用户id
     * token string（不可为空) 用户登陆身份标识
     * 返回数据对象
     * ApiResponse
     */
    public final static String UPDATE_QI_NIU_YUN_TOKEN = "/user/getUpToken";

    /**
     * 七牛云Token请求
     * 请求变量
     * userId string（不可为空) 用户id
     * token string（不可为空) 用户登陆身份标识
     * 返回数据对象
     * ApiResponse
     */
    public final static String UPDATE_PERSON_ICON = "/user/uploadPortraitUrl";

    /**
     * 用户获取账单列表
     * 请求变量
     * Id string
     * token
     * pageNum
     * pageSize
     * 返回数据对象
     * String
     */
    public final static String GET_MONEY_USER_LOGS = "/moneyUser/getMoneyWaDeLogs";


    /**
     * 注册时发生验证码并检查手机号是否被注册
     * 请求变量
     * phone string
     * 返回数据对象
     * ApiResponse
     */
    public final static String REGISTER_GET_VERIFICATIONCODE = "/user/getVerificationCode";


    /**
     * 忘记密码获取验证码
     * 请求变量
     * account
     * 返回数据对象
     * String
     */
    public final static String GET_VERIFICATIONCODE_BY_FORGET_PASSWORD = "/user/getVerificationCodeByForgetPassword";


    /**
     * 忘记密码检验手机验证码
     * 请求变量
     * account
     * verificationCode
     * 返回数据对象
     * String
     */
    public final static String CHECK_VERIFICATIONCODE_BY_FORGET_PASSWORD = "/user/findBackPwdVerifyPN";


    /**
     * 忘记密码修改密码
     * 请求变量
     * account
     * newPassword
     * verificationCode
     * 返回数据对象
     * String
     */
    public final static String CHANGE_PWD_BY_SMS = "/user/changePwdBySMS";

    /**
     * 忘记密码修改密码
     * 请求变量
     * userId
     * token
     * waterDeliverId
     * 返回数据对象
     * Position
     */
    public final static String GET_WATER_DELIVER_POSITION = "/user/getWaterDeliverPostion";


    /**
     * 获取评价关键字
     * 请求变量
     * userId
     * token
     * 返回数据对象
     * String
     */
    public final static String GET_COMMENT_KEYS = "/user/getCommentKeys";


    /**
     * 获取充值订单签名
     * 请求变量
     * userId string
     * token
     * amount int  充值金额
     * 返回数据对象
     * String
     */
    public final static String ALIPAY_GET_ALIPAY_SIGNED_CHARGE = "/alipay/getAlipaySignedCharge";


    /**
     * 提现
     * 请求变量
     * userId
     * token
     * amount
     * realName
     * way（1微信支付，2支付宝支付，3银联）
     * account
     * 返回数据对象
     * MoneyWaDeLog
     */
    public final static String MONEY_USER_WITHDRAW_DEPOSIT = "/moneyUser/withdrawDeposit";

    /**
     * 设定新的支付密码
     * 请求变量
     * userId string
     * token
     * newPayPwd
     * 返回数据对象
     * String
     */
    public final static String SET_FIRST_PAY_PWD = "/user/setFirstPayPwd";

    /**
     * 使用飞滴钱包支付订单
     * <p>
     * 请求变量
     * userId string
     * token
     * orderUserId
     * payPwd
     * <p>
     * 返回数据对象
     * String
     */
    public final static String FEIDI_PAY_PAY_ORDER_USER = "/feidiPay/payOrderUser";

    /**
     * 返回经过支付宝SDK签名后的用户补交押金订单
     * <p>
     * 请求变量
     * userId string
     * token
     * orderUserId
     * amount
     * <p>
     * 返回数据对象
     * String
     */
    public final static String GET_ALIPAY_SIGNED_DEPOSIT = "/alipay/getAlipaySignedDeposit";

    /**
     * 用户使用飞滴钱包补交空桶押金
     * <p>
     * 请求变量
     * userId string
     * token
     * orderUserId
     * payPwd
     * <p>
     * 返回数据对象
     * String
     */
    public final static String FEIDI_PAY_PAY_EXTRA_DEPOSIT = "/feidiPay/payExtraDeposit";


    /**
     * 添加用户评价
     * 请求变量
     * userId
     * token
     * orderUserId  订单号（string）
     * waterDeliverId  送水工id（string）
     * content 评价的内容（string）
     * deliverGrade  配送评价的分值（string）
     * productGrade  商品评价的分值（string）
     * isAnonymous   是否是匿名评价（string）
     * 返回数据对象
     * ApiResponse
     */
    public final static String ADD_USER_COMMENT = "/user/addCommentUser";

    /**
     * 获取送水工姓名头像
     * 请求变量
     * userId
     * token
     * waterDeliverId  送水工id（string）
     * 返回数据对象
     * ApiResponse
     */
    public final static String GET_WATER_DELIVER_ICON_AND_PORTRAIT = "/user/getWaDePortrait";

    /**
     * 查看订单评价
     * 请求变量
     * userId
     * token
     * commentUserId  评价id（string）
     * 返回数据对象
     * ApiResponse
     */
    public final static String GET_ORDER_COMMON_CONTENT = "/user/getCommentUser";

    /**
     * 分页获取水店
     * 请求变量
     * userId
     * token
     * searchKey
     * longitude
     * latitude
     * pageSize
     * pageNum
     * 返回数据对象
     * List<WaterStore>
     */
    public final static String GET_WATER_STORE_PAGE = "/waterStore/getWaterStorePage";

    /**
     * 提交押金订单
     * 请求变量
     * userId
     * token
     * waterStoreId
     * amount
     * 返回数据对象
     * string
     */
    public final static String SUBMIT_DEPOSIT_ORDER = "/userDepositOrder/submitDepositOrder";

    /**
     * 获取押金
     * 请求变量
     * uid string
     * token
     * 返回数据对象
     * Float
     */
    public final static String GET_DEPOSIT = "/moneyUser/getDeposit";

    /**
     * 用户绑定送水工邀請人
     * 请求变量
     * userId string
     * token
     * waterDeliver 送水工飞滴号或手机号
     * 返回数据对象
     * Float
     */
    public final static String BIND_WATER_DELIVER = "/user/connectedDeliver";


    /**
     * 退出登录
     * 请求变量
     * waterDeliverId
     * token
     * 返回数据对象
     * string
     */
    public final static String LOGOUT = "/user/logout";
}
